home *** CD-ROM | disk | FTP | other *** search
- ixemul.lib - C library for the Amiga68k version of vbcc
-
-
- INTRODUCTION
-
- ixemul.library is a shared Amiga library which is covered by the GNU
- license and includes standard ANSI and POSIX functions as well as some
- functions common in Unix, BSD and similar operating systems. Have a look
- at the ixemul-archives if you want to find out more.
-
- The link libraries ixemul.lib and ixemuls.lib provided with vbcc only
- contain stub functions which call the functions in the shared library
- plus some auxiliary functions for vbcc.
-
- What are the main differences between vc.lib and ixemul.lib?
-
- - vc.lib contains (almost) only standard ANSI functions. If you want
- to port Unix programs you will probably miss a lot of functions.
- Also ixemul supports things like mapping Unix directory paths to
- Amiga paths or expanding wildcards in command lines automatically.
-
- - Programs compiled for ixemul will be shorter because the code for all
- functions is not contained in the executable itself.
-
- - Programs compiled for ixemul will need the ixemul.library present when
- started.
-
- - Programs compiled for ixemul will probably need more memory because
- the entire (rather large) ixemul.library will be loaded into memory.
- With vc.lib only the functions your program uses will be in ram.
- However if you have several programs using ixemul.library at the same
- time only one copy of ixemul.library should be loaded.
-
- Things you should note:
-
- - With ixemul you do not need extra math-libraries. Floating point values
- are always returned in d0/d1 therefore -no-fp-return must be specified.
- The config-file will usually take care of this.
-
- - You must link with vlib:crt0.o as startup code (bcrt0.o for small data).
- The config-file will usually take care of this.
-
- - You _must_ use the ixemul-includes (they are currently not part of this
- archive) rather than the ones which are for vc.lib.
- The config-file will usually take care of this.
-
- - I recommend you get the ixemul-distribution from aminet (in dev/gcc),
- and have a look at it (although a lot is gcc-specific).
-
-
- LEGAL
-
- The crt0.o, bcrt0.o, ixemul.lib and ixemuls.o in this archive are public
- domain.
- Have a look at the ixemul-archives to find out about ixemul.library.
-
-
- USAGE
-
- First you must have the ixemul.library and the ixemul-includes (they
- should e.g. be on aminet in dev/gcc/ixemul-sdk.lha) and assign ixinclude:
- to the directory where they can be found.
-
- To compile a program to use ixemul you must make sure the proper
- config-file is used. This distribution should contain vbcc:vc.ixemul and
- vbcc:vc.ixemuls. The first is for large data and the second for small
- data.
- You can either copy one of them to the current directory and rename it
- as vc.config or explicitly specify it when invoking vc, e.g.:
-
- vc +vbcc:vc.ixemul hello.c
-
- or
-
- vc +vbcc:vc.ixemuls hello.c
-
- to compile a large/small data hello.c. Note that you need not specify
- -sd when using the vc.ixemuls config-file.
- You can, however, specify e.g. -sc if you want small code, too.
-
- If your program needs a certain version of the ixemul.library you can
- define a variable __ixemulVer with external linkage which specifies
- the minimum required version, e.g.
-
- int __ixemulVer = 45;
-
-
- Volker
-
-